/*
class Node {
   // mutators
   Item set item
   void insertBefore (Node neww)
   void insertAfter (Node neww)
   void remove ()
   // observers
   Item get item
   Node get prev
   Node get next
}
*/
class DoublyLinkedList {
   // mutators
   void insert (int n, Item item)
   void delete (int n)
   // observers
   Item get first
   Item get last
   Item nth (int n)
   int get item_cnt
}

class Buffer {
   // mutators
   void insert (String seq, Position pos)
   void delete (int cnt, Position pos)
   // observers
   Lexed nth_line (int n)
   int get line_cnt
}
/*
class BoundedArray {
   // mutators
   // observers
   int length
   int capacity

}

class Visible {
}
*/
